/*
 * 文 件    名:  SearchHistoryUtil.java
 * 创建日期:  2012-10-16下午3:17:36
 * 版          权:  Epro Technologies Co., Ltd. Copyright 2011-2012,  All rights reserved
 * 作          者:  cl073
 */
package com.weipu.common.util;

import java.util.HashMap;
import java.util.Set;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.text.TextUtils;

/** 
 * @Description SharedPreferences 存储
 * @version [版本号, 2012-10-16]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 * 
 * @author cl073
 */
public class SearchHistoryUtil
{
    /**
      * 保存搜索历史
      * @param ctx
      * @param history  [参数说明]
      * @return void [返回类型说明]
      * @exception throws [违例类型] [违例说明]
      * @see [类、类#方法、类#成员]
      */
    public static void saveHistory(Context ctx, HashMap<String, String> history)
    {
        if (null == ctx || null == history || history.isEmpty())
        {
            return;
        }
        //        配置文件
        SharedPreferences pre = ctx.getSharedPreferences("history", Context.MODE_PRIVATE);
        //        编辑
        Editor edit = pre.edit();
        Set<String> key = history.keySet();
        String value = null;
        for (String k : key)
        {
            value = history.get(k);
            if (TextUtils.isEmpty(value))
            {
                edit.remove(k);
            }
            else
            {
                edit.putString(k, value);
            }
        }
        //        提交
        edit.commit();
        
    }
    
    /**
      * 读取配置文件，如果key对应的value不存在则返回空字符
      * @param ctx
      * @param key
      * @return  [参数说明]
      * @return String [返回类型说明]
      * @exception throws [违例类型] [违例说明]
      * @see [类、类#方法、类#成员]
      */
    public static String getHistory(Context ctx, String key)
    {
        if (null == ctx || TextUtils.isEmpty(key))
        {
            return null;
        }
        return ctx.getSharedPreferences("history", Context.MODE_PRIVATE).getString(key, "");
    }
    
    /**
      * 批量读取配置文件，如果key对应的value不存在则返回空字符
      * @param ctx
      * @param key
      * @return  [参数说明]
      * @return HashMap<String,String> [返回类型说明]
      * @exception throws [违例类型] [违例说明]
      * @see [类、类#方法、类#成员]
      */
    public static HashMap<String, String> getHistory(Context ctx, String[] key)
    {
        if (null == ctx || null == key)
        {
            return null;
        }
        //读取配置文件
        SharedPreferences pre = ctx.getSharedPreferences("history", Context.MODE_PRIVATE);
        if (null == pre)
        {
            return null;
        }
        HashMap<String, String> result = new HashMap<String, String>(key.length);
        for (int i = 0; i < key.length; i++)
        {
            result.put(key[i], pre.getString(key[i], ""));
        }
        return result;
    }
    
}
